package com.stellar.pay.core.service;

import com.alibaba.fastjson.JSONObject;

import java.math.BigDecimal;
import java.text.ParseException;

/**
 * @Author Jqcc
 * @Version 1.0
 * @Data 2025/4/4
 * @Description : 支付通知处理接口（由业务方实现）
 */
public interface IPaymentNotifyHandler {

    /**
     * 处理支付成功通知
     *
     * @param orderNo       商户订单号
     * @param transactionId 微信支付订单号
     * @param amount        支付金额（单位：元）
     * @param successTime   支付成功时间
     * @param tradeType     支付类型
     * @param object        响应参数
     * @return 处理结果 true-成功 false-失败
     */
    void handlePaymentSuccess(String orderNo, String transactionId, BigDecimal amount, String successTime, String tradeType, Object object) throws ParseException;

    /**
     * 处理支付失败通知
     *
     * @param orderNo  商户订单号
     * @param errorMsg 错误信息
     */
    default void handlePaymentFailure(String orderNo, String errorMsg) {
    }

    /**
     * 检查订单是否存在
     *
     * @param orderNo
     * @return
     */
    boolean checkOrder(String orderNo);

}
